<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div id="app">

    </div>
    <script src="./src/react.js"></script>
    <script src="./src/react-dom.js"></script>
    <script src="./src/babel.js"></script>
    <script type="text/babel">
        function clock(State) {
            return (
                <div>
                    <h1>Hello, 贺二蛋!</h1>
                    <h2>It is {props.date.toLocaleTimeString()}.</h2>
                </div>
            )
        }
        function tick() {
            ReactDOM.render(
                <Clock />,
                document.getElementById("app")
            )
        }

        // setInterval(tick, 1000);

        class Clock extends React.Component {
            constructor(props) {
                super(props);
                this.state = { date: new Date() };
            }

            componentDidMount() {
                 this.timerID = setInterval(
                    () => this.tick(),
                    1000
                );
            }

            componentWillUnmount() {
            }

            render() {
                return (
                    <div>
                        <h1>Hello, world!</h1>
                        <h2>It is {this.state.date.toLocaleTimeString()}.</h2>
                    </div>
                );
            }
        }

        ReactDOM.render(
            <Clock />,
            document.getElementById('app')
        );
    </script>
</body>

</html>